home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok05.lha / MemSystem / IntuiStruct.def < prev    next >
Text File  |  1993-08-15  |  4KB  |  109 lines

  1. (**********************************************************************
  2.  
  3.     :Program.       IntuiStruct.def
  4.     :Contents.     Easy initializing of Intuition structures
  5.     :CoFiles.     amok#3/IntuiStruct1.3/IntuiStruct.doc
  6.     :Author.        Nicolas Benezan [bne]
  7.     :Address.    Postwiesenstr. 2, D7000 Stuttgart 60
  8.     :Phone.      711/333679
  9.     :Copyright.  Public Domain
  10.     :Language.      Modula-2
  11.     :Translator. M2Amiga AMSoft
  12.     :ModHistory. V1.0 [bne] 23.05.88 (first PD-version, Amok#2)
  13.     :ModHistory. V1.1 [bne] 13.06.88 (extended MemHandler)
  14.     :ModHistory. V1.2 [bne] 17.06.88 (+ StructRequest, StructBorder)
  15.     :ModHistory. V1.3 [bne] 08.07.88 (+ UnlinkMenu, FreeImage)
  16.     
  17. **********************************************************************)
  18.  
  19. DEFINITION MODULE IntuiStruct;
  20.  
  21. FROM Intuition    IMPORT NewScreen,ScreenFlagSet,NewWindow,IDCMPFlagSet,
  22.         WindowFlagSet,ScreenPtr,Image,ImagePtr,
  23.                 IntuiText,IntuiTextPtr,Gadget,GadgetPtr,GadgetFlagSet,
  24.                 GadgetFlags,ActivationFlagSet,PropInfo,PropInfoFlagSet,
  25.                 StringInfo,Menu,MenuPtr,MenuItem,MenuItemPtr,
  26.                 MenuItemFlagSet,MenuItemFlags,WindowPtr,
  27.                 RequesterPtr,Requester,BorderPtr,Border;
  28. FROM Graphics    IMPORT ViewModeSet,ViewModes,DrawModeSet,jam1;
  29. FROM SYSTEM    IMPORT ADDRESS,BITSET,LONGSET;
  30. FROM Exec    IMPORT UByte,Byte;
  31.  
  32. CONST    MenuNull=0FFFFH;
  33.     NoItem=003FH;
  34.         NoSub=001FH;
  35.         CHIP=TRUE;
  36.     CHIPorFAST=FALSE;
  37. TYPE    AllocProcType=PROCEDURE(VAR ADDRESS,LONGINT,(* CHIP? *)BOOLEAN);
  38.     DeallocProcType=PROCEDURE(VAR ADDRESS);
  39. VAR    CheckWidth,CommWidth,StdHeight:INTEGER;
  40.     AllocProc:AllocProcType;
  41.         DeallocProc:DeallocProcType;
  42.  
  43. PROCEDURE StructScreen(VAR NewSc:NewScreen;Depth,Detail,Block:Byte;
  44.     Mode:ViewModeSet;Type:ScreenFlagSet;Title:ADDRESS);
  45.  
  46. PROCEDURE StructWindow(VAR NewW:NewWindow;Left,Top,Width,Height:INTEGER;
  47.     Detail,Block:Byte;IDCMP:IDCMPFlagSet;Flags:WindowFlagSet;Title
  48.         :ADDRESS;Screen:ScreenPtr;Type:ScreenFlagSet);
  49.  
  50. PROCEDURE StructImage(VAR NewImage:Image;Left,Top,Width,Height,Depth:
  51.     INTEGER;Pick,OnOff:BITSET;Next:ImagePtr);
  52.  
  53. PROCEDURE Word(Data:CARDINAL);
  54. PROCEDURE Long(Data:LONGCARD);
  55.  
  56. PROCEDURE ImageEnd;
  57.  
  58. PROCEDURE FreeImage(VAR Img:Image);
  59.  
  60. PROCEDURE StructText(VAR IText:IntuiText;APen,BPen:Byte;Mode:DrawModeSet;
  61.     Left,Top:INTEGER;Text:ADDRESS;Next:IntuiTextPtr);
  62.  
  63. PROCEDURE StructGadget(VAR NewGadg:Gadget;Left,Top,Width,Height:INTEGER;
  64.     Flags:GadgetFlagSet;Activ:ActivationFlagSet;Type:CARDINAL;
  65.         Render:ADDRESS;Text:IntuiTextPtr;Excl:LONGSET;ID:INTEGER;
  66.         Next:GadgetPtr);
  67.  
  68. PROCEDURE ExcludeGadget(Gadgets:GadgetPtr;Window:WindowPtr;
  69.         Requester:RequesterPtr;Mask:LONGSET);
  70.  
  71. PROCEDURE StructProp(VAR Info:PropInfo;Flags:PropInfoFlagSet;
  72.     HPot,VPot,HBody,VBody:CARDINAL);
  73.  
  74. PROCEDURE StructString(VAR Info:StringInfo;VAR Buffer,UndoBuf:
  75.     ARRAY OF CHAR);
  76.  
  77. PROCEDURE LinkMenu(VAR MenuStrip:MenuPtr;Name:ADDRESS;Pos,Width:INTEGER;
  78.     Enabled:BOOLEAN):BOOLEAN;
  79.  
  80. PROCEDURE Item(Name:ADDRESS;Width:INTEGER;Flags:MenuItemFlagSet;
  81.     Excl:LONGSET;Cmd:CHAR);
  82.  
  83. PROCEDURE SubItem(Name:ADDRESS;LeftEdge,Width:INTEGER;Flags:
  84.     MenuItemFlagSet;Excl:LONGSET;Cmd:CHAR);
  85.  
  86. PROCEDURE UnlinkMenu(VAR MenuStrip:MenuPtr);
  87.  
  88. PROCEDURE MenuNum(Num:CARDINAL):CARDINAL;
  89. PROCEDURE ItemNum(Num:CARDINAL):CARDINAL;
  90. PROCEDURE SubNum(Num:CARDINAL):CARDINAL;
  91. PROCEDURE MakeNum(Menu,Item,SubItem:CARDINAL):CARDINAL;
  92.  
  93. PROCEDURE StructRequest(VAR Req:Requester;Left,Top,Width,Height:INTEGER;
  94.     Gadgets:GadgetPtr;ReqBorder:BorderPtr;Text:IntuiTextPtr;
  95.         BPen:Byte);
  96.  
  97. PROCEDURE StructBorder(VAR Bord:Border;Left,Top:INTEGER;Pen:Byte;
  98.     Mode:DrawModeSet;NumLines:UByte;Next:BorderPtr);
  99.  
  100. PROCEDURE AddLine(X,Y:INTEGER);
  101.  
  102. PROCEDURE Rectangle(Width,Height:INTEGER);
  103.  
  104. PROCEDURE BorderEnd;
  105.  
  106. PROCEDURE FreeBorder(VAR Bord:Border);
  107.  
  108. END IntuiStruct.
  109.